home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
basic
/
pbc_bas.exe
/
FORCEMAT.BAS
< prev
next >
Wrap
BASIC Source File
|
1993-01-01
|
1KB
|
45 lines
' +----------------------------------------------------------------------+
' | |
' | PBClone Copyright (c) 1990-1993 Thomas G. Hanlin III |
' | |
' +----------------------------------------------------------------------+
DECLARE SUB StripChar (St$, Ch$, StLen%)
FUNCTION ForceMatch$(Pattern$, SourceFile$)
a$ = Pattern$
GOSUB Regularize
Pat$ = a$
a$ = SourceFile$
GOSUB Regularize
Src$ = a$
FOR tmp% = 1 TO 12
IF MID$(Pat$, tmp%, 1) = "?" THEN
Result$ = Result$ + MID$(Src$, tmp%, 1)
ELSE
Result$ = Result$ + MID$(Pat$, tmp%, 1)
END IF
NEXT
StripChar Result$, " ", tmp%
ForceMatch$ = LEFT$(Result$, tmp%)
EXIT FUNCTION
Regularize:
t% = INSTR(a$, ".")
IF t% THEN
l$ = LEFT$(a$, t% - 1)
r$ = MID$(a$, t% + 1)
ELSE
l$ = a$
r$ = ""
END IF
l$ = LEFT$(l$, 8)
r$ = LEFT$(r$, 3)
t% = INSTR(l$, "*")
IF t% THEN l$ = LEFT$(l$, t% - 1) + STRING$(9 - t%, "?")
t% = INSTR(r$, "*")
IF t% THEN r$ = LEFT$(r$, t% - 1) + STRING$(4 - t%, "?")
a$ = LEFT$(l$ + SPACE$(8), 8) + "." + LEFT$(r$ + SPACE$(3), 3)
RETURN
END FUNCTION